/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package MortgageCore;

/**
 *
 * @author karakots
 */
public interface iDebt {
    //
    // iDebt Interface
    //

    // lender gives cash to borrower; debt instrument tracks this
    void becomeFunded();
    void hereIsFunding(double amount);
    double requestPaymentAmount();
    void makePayment(double amount);
    void payPoints(double amount);
    void defaultOnMortgage();
    void missedPayment();
    void cancelDebt(iLender lender);

    public enum DebtState {
        kDebtPreapproved, kDebtWaitingForFunding, kDebtOfferExpired,
        kDebtFunded, kDebtPaidInFull, kDebtInDefault
    }

}
